import pandas as pd

# 读取 Excel 文件
excel_file = pd.ExcelFile('C:\\Users\\admin\\Desktop\\csxp\\student.xlsx')

# 获取指定工作表中的数据
df = excel_file.parse('Sheet1')

# 打印文件内容
print('文件内容信息：')
print(df.to_csv(sep='\t', na_rep='nan'))

# 按性别统计学生人数
gender_count = df['性别'].value_counts()

# 定义年龄段区间
bins = [0, 17, 25, 35, float('inf')]
labels = ['0 - 17岁', '18 - 25岁', '26 - 35岁', '36岁及以上']

# 按年龄段统计学生人数
df['年龄段'] = pd.cut(df['年龄'], bins=bins, labels=labels)
age_group_count = df['年龄段'].value_counts()

# 定义一个函数来提取地区信息
def extract_region(address):
    if '海南省' in address:
        return address.split('省')[1].split('市')[0] if '市' in address.split('省')[1] else address.split('省')[1].split('县')[0]
    else:
        return address.split('省')[0] if '省' in address else address.split('自治区')[0] if '自治区' in address else '其他'

# 应用函数到家庭地址列
df['地区'] = df['家庭地址'].apply(extract_region)

# 按地区统计学生人数
region_count = df['地区'].value_counts()

# 输出结果
print('按性别统计学生人数：')
print(gender_count)
print('\n按年龄段统计学生人数：')
print(age_group_count)
print('\n按地区统计学生人数：')
print(region_count)